package com.example.navigationdemo

import android.os.Parcelable
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable
import kotlinx.serialization.Serializer

sealed class SubGraph {

    @Serializable
    data object Auth : SubGraph()


    @Serializable
    data object Dashboard : SubGraph()

}

sealed class Dest {
    @Serializable
    data object AuthFirstScreen : Dest()

    @Serializable
    data object AuthSecondScreen : Dest()

    @Serializable
    data object DashFirstScreen : Dest()


    // TODO: 1 
//    @Serializable
//    data class DashSecondScreen(
//        val name: String,
//        val age: Int
//    ) : Dest()

    // TODO: 2
    @Serializable
    data class DashSecondScreen(
        val dummy: Dummy
    ) : Dest()

}


@Serializable
@Parcelize
data class Dummy(
    val name: String,
    val age: Int
) : Parcelable